/**
 * 
 */
package br.com.site.fiolaser.faces.impl;

import javax.faces.event.ActionEvent;

import br.com.fiolaserdao.dto.DepoimentoDTO;
import br.com.fiolaserdao.facade.IDepoimentoFacade;
import br.com.fiolaserdao.facade.facadeimpl.FacadeFactory;
import br.com.site.fiolaser.faces.GenericFaces;
import br.com.site.fiolaser.faces.ICadastroFaces;
import br.com.site.fiolaser.util.FiolaserWebUtil;
import br.com.site.fiolaser.util.WebMessage;
import br.com.site.fiolaser.util.WebNavegacao;




/**
 * @author Fred
 * Data: 24/10/2009
 *
 */
public class DepoimentoCadastroFaces extends GenericFaces implements ICadastroFaces 
{
	private DepoimentoDTO depoimentoDTO;
	private IDepoimentoFacade depoimentoFacade;
	
	
	public DepoimentoCadastroFaces() 
	{
		depoimentoFacade = FacadeFactory.getInstance().getDepoimentoFacade();
		
		inicializarDependenciasDTO();		
	}
	
	protected void inicializarDependenciasDTO()
	{
		depoimentoDTO = new DepoimentoDTO();
	}

	/* (non-Javadoc)
	 * @see br.com.indados.sisefi.faces.ICadastroFaces#alterar(javax.faces.event.ActionEvent)
	 */
	public void alterar(ActionEvent event) 
	{
		try 
		{
			depoimentoFacade.update(depoimentoDTO);
			WebMessage.addInfoKey("mensagem.registro.alterado.sucesso");
			
		} catch (Exception e) 
		{
			WebMessage.addError( e.getLocalizedMessage() );
		}

	}

	/* (non-Javadoc)
	 * @see br.com.indados.sisefi.faces.ICadastroFaces#editar()
	 */
	public String editar() 
	{
		try 
		{
			depoimentoDTO = depoimentoFacade.obterPorPk(depoimentoDTO);
			
			
		} catch (Exception e) 
		{
			WebMessage.addError( e.getLocalizedMessage() );
		}
		return WebNavegacao.CADASTRO;
	}

	/* (non-Javadoc)
	 * @see br.com.indados.sisefi.faces.ICadastroFaces#excluir(javax.faces.event.ActionEvent)
	 */
	public String excluir() 
	{
		try 
		{
			depoimentoFacade.excluir(depoimentoDTO);
			WebMessage.addInfoKey("mensagem.registro.apagado.sucesso");
			
		} catch (Exception e) 
		{
			WebMessage.addError(e.getLocalizedMessage());
		}
		
		DepoimentoPesquisaFaces depoimentoPesquisaFaces = (DepoimentoPesquisaFaces) FiolaserWebUtil.getManagedBeanInSession("depoimentoPesquisaFaces");
		
		return depoimentoPesquisaFaces.voltar();
	}

	/* (non-Javadoc)
	 * @see br.com.indados.sisefi.faces.ICadastroFaces#inserir(javax.faces.event.ActionEvent)
	 */
	public void inserir(ActionEvent event) 
	{
		try 
		{

			depoimentoFacade.inserir(depoimentoDTO);
			WebMessage.addInfoKey("mensagem.registro.inserido.sucesso");
			
						
		} catch (Exception e) {
			WebMessage.addError( e.getLocalizedMessage());
		}

	}

	public String novo() 
	{
		inicializarDependenciasDTO();
		return WebNavegacao.CADASTRO;
	}

	public boolean validaFormulario() {
		// TODO Auto-generated method stub
		return false;
	}

	public DepoimentoDTO getDepoimentoDTO() {
		return depoimentoDTO;
	}

	public void setDepoimentoDTO(DepoimentoDTO depoimentoDTO) {
		this.depoimentoDTO = depoimentoDTO;
	}

	public IDepoimentoFacade getDepoimentoFacade() {
		return depoimentoFacade;
	}

	public void setDepoimentoFacade(IDepoimentoFacade depoimentoFacade) {
		this.depoimentoFacade = depoimentoFacade;
	}
	
	
}
